#ifndef CALLBACKS_H
#define CALLBACKS_H


#include <functional>
#include <memory>

class TcpConnection;
typedef std::shared_ptr<TcpConnection> TcpConnectionPtr;
typedef std::function<void (const TcpConnectionPtr &)>  ConnCompleteCallBack;
typedef std::function<void (const TcpConnectionPtr &)>   ConnCloseCallBack;
typedef std::function<void (const TcpConnectionPtr &)>   WriteCompleteCallBack;
typedef std::function<void (Buffer*, const TcpConnectionPtr &)>  MessageCallBack;



// typedef std::function<void (TcpConnection *)>  ConnCompleteCallBack;
// typedef std::function<void (TcpConnection *)>   ConnCloseCallBack;
// typedef std::function<void (TcpConnection *)>   WriteCompleteCallBack;
// typedef std::function<void (Buffer*, TcpConnection *)>  MessageCallBack;

#endif